package com.bydq.patrolsystem.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bydq.patrolsystem.entity.PsSystemconfig;
import com.bydq.patrolsystem.service.PsSystemconfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.Map;

@Controller
@RequestMapping("systemConfig")
public class SystemConfigController {

    @Autowired
    private PsSystemconfigService psSystemconfigService;

    @RequestMapping("/systemConfig")
    public String systemConfig(){
        return "systemConfig";
    }

    @ResponseBody
    @RequestMapping("/getConfigType")//配置类型
    public Map<String,Object> getConfigType(Integer page,Integer limit){

        page=page==null?1:page;
        limit=limit==null?5:limit;

        IPage<PsSystemconfig> p=new Page<>(page,limit);

        QueryWrapper<PsSystemconfig> qw=new QueryWrapper<>();
        qw.eq("configValueId",1);

        psSystemconfigService.page(p,qw);

        Map<String,Object> map=new HashMap<String,Object>();
        map.put("code",0);
        map.put("count",p.getTotal());
        map.put("data",p.getRecords());

        return map;
    }

    @ResponseBody
    @RequestMapping("/upDate")
    public boolean upDate(Long id,String configCode,String configName){

        PsSystemconfig config=psSystemconfigService.getById(id);
        config.setConfigCode(configCode);
        config.setConfigName(configName);

        return psSystemconfigService.updateById(config);
    }

    @ResponseBody
    @RequestMapping("/upFils")
    public boolean upFils(Long id,int configValueId,String configValueName){

        PsSystemconfig config=psSystemconfigService.getById(id);
        config.setConfigValueId(configValueId);
        config.setConfigValueName(configValueName);

        return psSystemconfigService.updateById(config);
    }

    @ResponseBody
    @RequestMapping("/upIsStart")
    public boolean upIsStart(String configCode,int isStart){

        isStart=isStart==0?1:0;

        return psSystemconfigService.upIsStart(configCode,isStart);
    }


    @ResponseBody
    @RequestMapping("/del")//删除
    public boolean del(String configCode){
        return psSystemconfigService.del(configCode);
    }

    @ResponseBody
    @RequestMapping("/delFils")//删除
    public boolean delFils(Long id){
        return psSystemconfigService.removeById(id);
    }

    @ResponseBody
    @RequestMapping("/filsList")
    public Map<String,Object> filsList(String configCode){

        Map<String,Object> map=new HashMap<String,Object>();
        map.put("code",0);
        if(configCode==null){
            map.put("msg","aaa");
        }
        map.put("data",psSystemconfigService.filsList(configCode));

        return map;
    }

}
